
10.10. Pgaudit
10.10 Pgaudit
Pgaudit — расширение для PostgreSQL, которое позволяет собирать
события из различных источников внутри PostgreSQL и записывает их в
формате CSV c временной меткой, информацией о пользователе, объекте,
который был затронут командой (если такое произошло) и полным тек-
стом команды. Поддерживает все DDL, DML (включая SELECT) и прочие
команды. Данное расширение работает в PostgreSQL 9.3 и выше.
После установки расширения нужно добавит в конфиг PostgreSQL на-
стройки расширения:
Листинг 10.69 Pgaudit
Line 1 s h ar e d_ p re l oa d _l i br a ri e s = ’ pgaudi t ’
-
- pga udi t . l o g = ’ read , writ e , u s er ’
Далее перегрузить базу данных и установить расширение для базы:
Листинг 10.70 Pgaudit
Line 1 # CREATE EXTENSION pga udit ;
После этого в логах можно увидеть подобный результат от pgaudit:
Листинг 10.71 Pgaudit
Line 1 LOG: [AUDIT] , 2014 - 0 4 - 3 0 1 7 : 1 3: 5 5 . 20 2 8 54 + 0 9 , auditdb , ianb ,
ianb , DEFINITION ,CREATE TABLE,TABLE, p ub l i c . x ,CREATE TABLE
p u bl i c . x ( a pg_catalog . i n t 4 , b pg_catalog . i nt 4 )
WITH ( o id s=OFF)
- LOG: [AUDIT] , 2 014 - 04 - 30 17:1 4 : 0 6 . 5 48 9 2 3 +0 9 , auditdb , ianb ,
ianb ,WRITE, INSERT,TABLE, p ub l i c . x , INSERT INTO x VALUES
( 1 , 1) ;
- LOG: [AUDIT] , 2 014 - 04 - 30 17:1 4 : 2 1 . 2 21 8 7 9 +0 9 , auditdb , ianb ,
ianb ,READ,SELECT,TABLE, p u bl ic . x , SELECT * FROM x ;
- LOG: [AUDIT] , 2 014 - 04 - 30 17:1 5 : 2 5 . 6 20 2 1 3 +0 9 , auditdb , ianb ,
ianb ,READ,SELECT,VIEW, p ub li c . v_x ,SELECT * from v_x ;
5 LOG: [AUDIT] , 2 014 - 04 - 30 17:1 5 : 2 5 . 6 20 2 6 2 +0 9 , auditdb , ianb ,
ianb ,READ,SELECT,TABLE, p u bl ic . x , SELECT * from v_x ;
- LOG: [AUDIT] , 2 014 - 04 - 30 17:1 6 : 0 0 . 8 49 8 6 8 +0 9 , auditdb , ianb ,
ianb ,WRITE,UPDATE,TABLE, p u b l ic . x ,UPDATE x SET a=a+1;
- LOG: [AUDIT] , 2 014 - 04 - 30 17:1 6 : 1 8 . 2 91 4 5 2 +0 9 , auditdb , ianb ,
ianb ,ADMIN,VACUUM, , ,VACUUM x ;
- LOG: [AUDIT] , 2 014 - 04 - 30 17 : 1 8 : 0 1. 0 82 9 1+ 0 9 , auditdb , ianb , ianb
, DEFINITION ,CREATE FUNCTION,FUNCTION, p u b l ic . func_x ( ) ,
CREATE FUNCTION p u bl i c . func_x ( ) RETURNS pg_catalog . i n t 4
LANGUAGE s q l VOLATILE CALLED ON NULL INPUT SECURITY
INVOKER COST 10 0.00 0 000 AS $dprs_$SELECT a FROM x LIMIT
1 ; $dprs_$
215